<?php

/**
 * SmartPHP framework
 *
 * @name SmartPHP framework
 * @package SmartPHP
 * @author 费尔 <admin@xuai.cn>
 * @version 3.0
 * @link http://www.SmartPHP.cn
 * @copyright SmartPHP.cn
 * @license <a href="http://www.SmartPHP.cn">SmartPHP</a>
 */

namespace Base;

/**
 * 项目日志
 *
 * @author 费尔 <admin@xuai.cn>
 */
class Log {

    /**
     * 初始化驱动
     */
    private static function _init($driver = NULL) {
        static $_log;
        $class = '\\Driver\\Log\\' . ucfirst(strtolower($driver ?: Config::get('log.type')));
        return $_log[$driver] ?? ($_log[$driver] = new $class());
    }

    /**
     * 保存调试信息
     * @return bool
     */
    public static function save($info) {
        APP_DEBUG && self::console($info);
        Config::get('log.switch') && self::_init()->save($info);
    }

    public static function console($info) {
        $output = '<script>';
        foreach ($info as $data) {
            $output .= "console.log('" . json_encode($data) . "')";
        }
        $output .= '</script>';
        echo $output;
    }

}
